Move a check to gtk_window_set_focus
authorMatthias Clasen <mclasen@redhat.com>
Sat, 2 Mar 2019 16:40:09 +0000 (11:40 -0500)
committerMatthias Clasen <mclasen@redhat.com>
Sun, 17 Mar 2019 01:24:44 +0000 (21:24 -0400)
gtk_widget_grab_focus is just a wrapper for
gtk_window_set_focus. We should do all the enforcement
there.

gtk/gtkwidget.c
gtk/gtkwindow.c

index ff817a8abbc2818b6dc540fb117a10b2a9f77874..fe9a15f5bd45b23df951e9cbd5876d59e6f94460 100644 (file)
@@ -5337,9 +5337,6 @@ gtk_widget_grab_focus (GtkWidget *widget)
 {
   g_return_if_fail (GTK_IS_WIDGET (widget));
 
-  if (!gtk_widget_is_sensitive (widget))
-    return;
-
   GTK_WIDGET_GET_CLASS (widget)->grab_focus (widget);
 }
 
index 3af2dea8779c31833b6e9c85886af70f5b3eec40..97a886009c08f6fe3893f3d69f741f07ddeb1dec 100644 (file)
@@ -7331,6 +7331,9 @@ static void
 gtk_window_real_set_focus (GtkWindow *window,
                           GtkWidget *focus)
 {
+  if (focus && !gtk_widget_is_sensitive (focus))
+    return;
+
   unset_focus_widget (window);
   set_focus_widget (window, focus);